• Redis核心技术与实践 02 | 数据结构:快速的Redis有哪些慢

    你好,我是蒋德钧。 一提到 Redis,我们的脑子里马上就会出现一个词:“快。”但是你有没有想过,Redis 的快,到底是快在哪里呢?实际上,这里有一个重要的表现:它接收到一...
    Redis   2022.05.17 09:55
  • 「忘了再学」Shell基础 — 16、位置参数变量

    位置參数变量的作用主要用于脚本的传参。 位置參数变量的名称和作用都是确定不能改变的,但是该变量的内容是可以更改的,也就是变量的值。 位置參数变量如下: 位置参数变量 作用 $n n为数字,$0代表命令本身,$1-$9代表(脚本命令后的)第一到第九个参数,十以上的参数需要用大括号包含,如${10}、$ ...
    高级测试技能 - Shell基础   2022-05-23 11:01
  • Java 线程创建与常用方法

    ## 进程与线程的区别 - 进程基本上相互独立的,而线程存在于进程内,是进程的一个子集 - 进程拥有共享的资源,如内存空间等,供其内部的线程共享 - 进程间通信较为复杂 - 同一台计算机的进程通信称为 IPC(Inter-process communication) - 不同计算机之间的进程... ...
  • Unix 网络编程08:基本UDP套接字编程

    基本UDP套接字编程 系列文章导航:《Unix 网络编程》笔记 UDP 概述 流程图 recvfrom 和 sendto #include <sys/socket.h> ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, int flags ...
    Unix 网络 计算机基础   2022-05-29 08:31
  • 回炉重造 Java 基础 - 集合(容器)

    整体框架 绿色代表接口/抽象类;蓝色代表类。 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口。 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识,接口,类,这些基础知识都没学好,所以学到这里还是懵懵懂懂的。第一次接触到「集合」,这两个字,在我的 ...
    Java 基础 《回炉重造》   2022-05-28 23:13
  • Java开发学习(一) - -初识Spring及其核心概念

    一、 Spring系统架构 1.1 系统架构图 Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基。 Spring Framework的发展也经历了很多版本的变更,每个版本都有相应的调整 Spring Framework的5版本目前没有最新的架构图,而最新的是4版本 ...
    【E】Java开发   2022-05-28 23:17
  • 「忘了再学」Shell基础 — 21、变量的测试与内容置换

    1、什么是变量的测试与内容置换 我们之前说过,在Shell中,一个变量未定义,和一个变量为空值的输出效果是一样的。 # 先直接输出一个未定义的变量y [root@Lyl ~]# echo $y # 再定义变量y为空值,并输出变量y [root@Lyl ~]# y="" [root@Lyl ~]# e ...
    高级测试技能 - Shell基础   2022-05-27 11:31
  • 「忘了再学」Shell基础 — 20、Shell中的运算符

    1、Shell常用运算符 Shell中常用运算符如下表: 优先级数值越大优先级越高,具有较高优先级级别的运算符先于较低级别的运算符进行求值运算。 优先级 运算符 说明 13 -,+ 单目负、单目正 12 !,~ 逻辑非、按位取反或补码 11 *,/,% 乘、除、取模 10 +,- 加、减 9 <<, ...
    高级测试技能 - Shell基础   2022-05-26 11:30
  • 「忘了再学」Shell基础 — 17、预定义变量

    我们之前说过,Shell中的变量不是按照变量值的类型来进行分类的,而是按照Linux系统中定义的变量类别来分类的。 预定义变量就是,事先把变量的名称和作用确定好(都是不可变的),只能修改变量的内容,也就是变量的值。 其实预定义变量和位置参数变量都可以统称为预定义变量(有分开说明的,也有一起说明的,知 ...
    高级测试技能 - Shell基础   2022-05-24 11:00
  • 零基础学Java第六节(面向对象二)

    本篇文章是《零基础学Java》专栏的第六篇文章,文章采用通俗易懂的文字、图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号【编程攻略】 继承 创建一个Person类 我们创建一个用于描述人的类。我们怎么抽象出一个人这个类呢?我们以不同的角度做抽象,得到的属性和行为都会有些区别。这里 ...
    java   2022-05-20 22:04
  • [java并发编程]基于信号量semaphore实现限流器

    [TOC] 一、什么是信号量 “信号量”在编程术语中使用单词semaphore,那什么是“信号量”?信号量就好比你家厨房入口架子上摆了三把锅。 如果你的孩子热奶拿走一把,你的...
    JAVA   2022.05.17 08:06
  • 「忘了再学」Shell基础 — 15、环境变量(三)

    提示: 在Linux系统中,环境变量分为两种。一种是用户自定义的环境变量,另一种是系统自带的环境变量。 而在系统自带的环境变量中,PATH环境变量、PS1环境变量、LANG语系变量需要进行说明一下。 本篇文章主要说明系统自带的环境变量中的LANG语系环境变量。 1、LANG语系变量介绍 我们之前说过 ...
    高级测试技能 - Shell基础   2022-05-20 10:40
  • 并发编程之临界区\阻塞\非阻塞\死锁\饥饿\活锁

    本文介绍并发编程中的若干概念,实际上在笔者之前的文章中,已经介绍过很多概念。比如:并发与并行、同步与异步、锁与信号量等等。,本文计息介绍一些相对深入一些的概念...
    JAVA   2022.05.11 08:18
  • 并发编程之volatile与JMM多线程内存模型

    一、通过程序看现象 在开始为大家讲解Java 多线程缓存模型之前,我们先看下面的这一段代码。这段代码的逻辑很简单:主线程启动了两个子线程,一个线程1、一个线程2。线程1...
    JAVA   2022.05.12 07:50
  • 并发编程系列之Lock锁可重入性与公平性

    一、相似之处:Lock锁 vs Synchronized 代码块 Lock锁是一种类似于synchronized 同步代码块的线程同步机制。从Java 5开始java.util.concurrent.locks引入了若干个Lock锁的...
    JAVA   2022.05.13 08:20
  • 「java并发编程」ReentrantLock 可重入读写锁

    一、ReentrantLock可重入锁 可重入锁ReentrantLock 是一个互斥锁,即同一时间只有一个线程能够获取锁定资源,执行锁定范围内的代码。这一点与synchronized 关键字十分相似...
    JAVA   2022.05.15 08:16
  • java并发编程-StampedLock高性能读写锁

    [TOC] 一、读写锁 在我的[《java并发编程》]上一篇文章中为大家介绍了《ReentrantLock读写锁》,ReentrantReadWriteLock可以保证最多同时有一个线程在写数据,或者可以同...
    JAVA   2022.05.16 08:21
  • Apache郭炜:开源社区最核心的还是产品力

    如何推广一个开源社区,找到最初的那批用户? Apache SeaTunnel和ClickHouse推广社区的时候,有一个挺重要的方法就是做了一个单机版,一键部署一键使用,一般来讲,做一个...
    Kubernetes 开源   2022.05.16 18:27
  • 「忘了再学」Shell基础 — 26、cut列提取命令

    1、cut命令说明 cut命令的作用是对文本中的内容进行截取。 一个文件里边有很多数据,grep命令是用来提取文本内容包含匹配规则的行,而cut命令是用来截取文本内容中的列数据。 [root@localhost ~]# cut [选项] 文件名 选项: -f 列号:提取第几列。 -d 分隔符:按照指 ...
    高级测试技能 - Shell基础   2022-06-07 11:07